home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 4 / Apprentice-Release4.iso / Languages / MPW Oberon 2.1168 / OInterfaces / Palettes.mod < prev    next >
Encoding:
Text File  |  1995-08-10  |  6.6 KB  |  201 lines  |  [TEXT/MPS ]

  1. (*
  2.      File:        Palettes.mod
  3.  
  4.      Contains:    Palette Manager Interfaces.
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Package:    Universal Interfaces 2.0 in “MPW Latest” on ETO #17
  8.  
  9.      Copyright:    © 1984-1995 by Apple Computer, Inc.
  10.                  All rights reserved.
  11.  
  12.      Bugs?:        If you find a problem with this file, use the Apple Bug Reporter
  13.                  stack.  Include the file and version information (from above)
  14.                  in the problem description and send to:
  15.                      Internet:    apple.bugs.applelink.apple.com
  16.                      AppleLink:    APPLE.BUGS
  17.  
  18. *)
  19.  
  20. (*$TAGS-*)
  21. (*$CALLING PASCAL*)
  22. MODULE Palettes;
  23.  
  24. IMPORT SYSTEM, Types, Quickdraw;
  25.  
  26. (* $PUSH*)
  27. (* $ALIGN MAC68K*)
  28. (* $LibExport+*)
  29.  
  30. CONST
  31.     pmCourteous*                    = 0;                            (*Record use of color on each device touched.*)
  32.     pmTolerant*                    = $0002;                        (*render ciRGB if ciTolerance is exceeded by best match.*)
  33.     pmAnimated*                    = $0004;                        (*reserve an index on each device touched and render ciRGB.*)
  34.     pmExplicit*                    = $0008;                        (*no reserve, no render, no record; stuff index into port.*)
  35.     pmWhite*                        = $0010;
  36.     pmBlack*                        = $0020;
  37.     pmInhibitG2*                    = $0100;
  38.     pmInhibitC2*                    = $0200;
  39.     pmInhibitG4*                    = $0400;
  40.     pmInhibitC4*                    = $0800;
  41.     pmInhibitG8*                    = $1000;
  42.     pmInhibitC8*                    = $2000;
  43. (* NSetPalette Update Constants *)
  44.     pmNoUpdates*                    = $8000;                        (*no updates*)
  45.     pmBkUpdates*                    = $A000;                        (*background updates only*)
  46.     pmFgUpdates*                    = $C000;                        (*foreground updates only*)
  47.     pmAllUpdates*                = $E000;                        (*all updates*)
  48.  
  49.  
  50. TYPE
  51.     ColorInfo* = RECORD
  52.         ciRGB*:                    Quickdraw.RGBColor;                                (*true RGB values*)
  53.         ciUsage*:                INTEGER;                                (*color usage*)
  54.         ciTolerance*:            INTEGER;                                (*tolerance value*)
  55.         ciDataFields*:            ARRAY 3 (*ΔΔ[0..2]ΔΔ*) OF INTEGER;                (*private fields*)
  56.     END;
  57.  
  58.     Palette* = RECORD
  59.         pmEntries*:                INTEGER;                                (*entries in pmTable*)
  60.         pmDataFields*:            ARRAY 7 (*ΔΔ[0..6]ΔΔ*) OF INTEGER;                (*private fields*)
  61.         pmInfo*:                    ARRAY 1 (*ΔΔ[0..0]ΔΔ*) OF ColorInfo;
  62.     END;
  63.  
  64.     PalettePtr* = POINTER TO Palette;
  65.     PaletteHandle* = HANDLE TO Palette (*ΔΔ POINTER TO PalettePtr*);
  66.  
  67.  
  68. PROCEDURE InitPalettes*;
  69.     (*$IF NOT GENERATINGCFM*)
  70.     INLINE PASCAL $AA90;
  71.     (*$END*)
  72. PROCEDURE NewPalette*(entries: INTEGER; srcColors: Quickdraw.CTabHandle; srcUsage: INTEGER; srcTolerance: INTEGER): PaletteHandle;
  73.     (*$IF NOT GENERATINGCFM*)
  74.     INLINE PASCAL $AA91;
  75.     (*$END*)
  76. PROCEDURE GetNewPalette*(PaletteID: INTEGER): PaletteHandle;
  77.     (*$IF NOT GENERATINGCFM*)
  78.     INLINE PASCAL $AA92;
  79.     (*$END*)
  80. PROCEDURE DisposePalette*(srcPalette: PaletteHandle);
  81.     (*$IF NOT GENERATINGCFM*)
  82.     INLINE PASCAL $AA93;
  83.     (*$END*)
  84. PROCEDURE ActivatePalette*(srcWindow: Quickdraw.WindowPtr);
  85.     (*$IF NOT GENERATINGCFM*)
  86.     INLINE PASCAL $AA94;
  87.     (*$END*)
  88. PROCEDURE SetPalette*(dstWindow: Quickdraw.WindowPtr; srcPalette: PaletteHandle; cUpdates: BOOLEAN);
  89.     (*$IF NOT GENERATINGCFM*)
  90.     INLINE PASCAL $AA95;
  91.     (*$END*)
  92. PROCEDURE NSetPalette*(dstWindow: Quickdraw.WindowPtr; srcPalette: PaletteHandle; nCUpdates: INTEGER);
  93.     (*$IF NOT GENERATINGCFM*)
  94.     INLINE PASCAL $AA95;
  95.     (*$END*)
  96. PROCEDURE GetPalette*(srcWindow: Quickdraw.WindowPtr): PaletteHandle;
  97.     (*$IF NOT GENERATINGCFM*)
  98.     INLINE PASCAL $AA96;
  99.     (*$END*)
  100. PROCEDURE CopyPalette*(srcPalette: PaletteHandle; dstPalette: PaletteHandle; srcEntry: INTEGER; dstEntry: INTEGER; dstLength: INTEGER);
  101.     (*$IF NOT GENERATINGCFM*)
  102.     INLINE PASCAL $AAA1;
  103.     (*$END*)
  104. PROCEDURE PmForeColor*(dstEntry: INTEGER);
  105.     (*$IF NOT GENERATINGCFM*)
  106.     INLINE PASCAL $AA97;
  107.     (*$END*)
  108. PROCEDURE PmBackColor*(dstEntry: INTEGER);
  109.     (*$IF NOT GENERATINGCFM*)
  110.     INLINE PASCAL $AA98;
  111.     (*$END*)
  112. PROCEDURE AnimateEntry*(dstWindow: Quickdraw.WindowPtr; dstEntry: INTEGER; (*CONST*)VAR srcRGB: Quickdraw.RGBColor);
  113.     (*$IF NOT GENERATINGCFM*)
  114.     INLINE PASCAL $AA99;
  115.     (*$END*)
  116. PROCEDURE AnimatePalette*(dstWindow: Quickdraw.WindowPtr; srcCTab: Quickdraw.CTabHandle; srcIndex: INTEGER; dstEntry: INTEGER; dstLength: INTEGER);
  117.     (*$IF NOT GENERATINGCFM*)
  118.     INLINE PASCAL $AA9A;
  119.     (*$END*)
  120. PROCEDURE GetEntryColor*(srcPalette: PaletteHandle; srcEntry: INTEGER; VAR dstRGB: Quickdraw.RGBColor);
  121.     (*$IF NOT GENERATINGCFM*)
  122.     INLINE PASCAL $AA9B;
  123.     (*$END*)
  124. PROCEDURE SetEntryColor*(dstPalette: PaletteHandle; dstEntry: INTEGER; (*CONST*)VAR srcRGB: Quickdraw.RGBColor);
  125.     (*$IF NOT GENERATINGCFM*)
  126.     INLINE PASCAL $AA9C;
  127.     (*$END*)
  128. PROCEDURE GetEntryUsage*(srcPalette: PaletteHandle; srcEntry: INTEGER; VAR dstUsage: INTEGER; VAR dstTolerance: INTEGER);
  129.     (*$IF NOT GENERATINGCFM*)
  130.     INLINE PASCAL $AA9D;
  131.     (*$END*)
  132. PROCEDURE SetEntryUsage*(dstPalette: PaletteHandle; dstEntry: INTEGER; srcUsage: INTEGER; srcTolerance: INTEGER);
  133.     (*$IF NOT GENERATINGCFM*)
  134.     INLINE PASCAL $AA9E;
  135.     (*$END*)
  136. PROCEDURE CTab2Palette*(srcCTab: Quickdraw.CTabHandle; dstPalette: PaletteHandle; srcUsage: INTEGER; srcTolerance: INTEGER);
  137.     (*$IF NOT GENERATINGCFM*)
  138.     INLINE PASCAL $AA9F;
  139.     (*$END*)
  140. PROCEDURE Palette2CTab*(srcPalette: PaletteHandle; dstCTab: Quickdraw.CTabHandle);
  141.     (*$IF NOT GENERATINGCFM*)
  142.     INLINE PASCAL $AAA0;
  143.     (*$END*)
  144. PROCEDURE Entry2Index*(entry: INTEGER): LONGINT;
  145.     (*$IF NOT GENERATINGCFM*)
  146.     INLINE PASCAL $7000, $AAA2;
  147.     (*$END*)
  148. PROCEDURE RestoreDeviceClut*(gd: Quickdraw.GDHandle);
  149.     (*$IF NOT GENERATINGCFM*)
  150.     INLINE PASCAL $7002, $AAA2;
  151.     (*$END*)
  152. PROCEDURE ResizePalette*(p: PaletteHandle; size: INTEGER);
  153.     (*$IF NOT GENERATINGCFM*)
  154.     INLINE PASCAL $7003, $AAA2;
  155.     (*$END*)
  156. PROCEDURE SaveFore*(VAR c: Quickdraw.ColorSpec);
  157.     (*$IF NOT GENERATINGCFM*)
  158.     INLINE PASCAL $303C, $040D, $AAA2;
  159.     (*$END*)
  160. PROCEDURE SaveBack*(VAR c: Quickdraw.ColorSpec);
  161.     (*$IF NOT GENERATINGCFM*)
  162.     INLINE PASCAL $303C, $040E, $AAA2;
  163.     (*$END*)
  164. PROCEDURE RestoreFore*((*CONST*)VAR c: Quickdraw.ColorSpec);
  165.     (*$IF NOT GENERATINGCFM*)
  166.     INLINE PASCAL $303C, $040F, $AAA2;
  167.     (*$END*)
  168. PROCEDURE RestoreBack*((*CONST*)VAR c: Quickdraw.ColorSpec);
  169.     (*$IF NOT GENERATINGCFM*)
  170.     INLINE PASCAL $303C, $0410, $AAA2;
  171.     (*$END*)
  172. PROCEDURE SetDepth*(gd: Quickdraw.GDHandle; depth: INTEGER; whichFlags: INTEGER; flags: INTEGER): Types.OSErr;
  173.     (*$IF NOT GENERATINGCFM*)
  174.     INLINE PASCAL $303C, $0A13, $AAA2;
  175.     (*$END*)
  176. PROCEDURE HasDepth*(gd: Quickdraw.GDHandle; depth: INTEGER; whichFlags: INTEGER; flags: INTEGER): INTEGER;
  177.     (*$IF NOT GENERATINGCFM*)
  178.     INLINE PASCAL $303C, $0A14, $AAA2;
  179.     (*$END*)
  180. PROCEDURE PMgrVersion*(): INTEGER;
  181.     (*$IF NOT GENERATINGCFM*)
  182.     INLINE PASCAL $7015, $AAA2;
  183.     (*$END*)
  184. PROCEDURE SetPaletteUpdates*(p: PaletteHandle; updates: INTEGER);
  185.     (*$IF NOT GENERATINGCFM*)
  186.     INLINE PASCAL $303C, $0616, $AAA2;
  187.     (*$END*)
  188. PROCEDURE GetPaletteUpdates*(p: PaletteHandle): INTEGER;
  189.     (*$IF NOT GENERATINGCFM*)
  190.     INLINE PASCAL $303C, $0417, $AAA2;
  191.     (*$END*)
  192. PROCEDURE GetGray*(device: Quickdraw.GDHandle; (*CONST*)VAR backGround: Quickdraw.RGBColor; VAR foreGround: Quickdraw.RGBColor): BOOLEAN;
  193.     (*$IF NOT GENERATINGCFM*)
  194.     INLINE PASCAL $303C, $0C19, $AAA2;
  195.     (*$END*)
  196.  
  197. (* $ALIGN RESET*)
  198. (* $POP*)
  199.  
  200.  END Palettes.
  201.